/**
 * kig
 * 2006
 */

#include "Util.h"
#include "Scene.h"
#include "Canvas.h"
#include "Eye.h"

#ifndef KIG_ARTIST_H
#define KIG_ARTIST_H

namespace kig
{
	/**
	 * The Artist draws a Scene onto a Canvas.
	 */
	class Artist : public Object
	{
		public:
			/**
			 * Constructor.
			 */
			Artist(const Eye& eye) : _eye(eye) { }
			
			/**
			 * Draw the Scene onto the Canvas.
			 */
			virtual void draw(Scene* s, Canvas* c) = 0;

			virtual ~Artist() { }

		protected:
			Eye _eye;
	};

	REF_POINTER(Artist, ArtistPtr);
}

#endif

